# ///******************** NG.Respate(C)  **********************************
# //* 产品名称: dev dev.mk
# //* 程序作者: Respate
# //* 程序版本: V1.1														   
# //* 编制日期: 2020/7/18
# //* 功能描述: 驱动编译规则
# //* SPDX-License-Identifier:	GPL-2.0+
# //* QQ:	2085827949
# //**********************************************************************/


##############################################################################
# 工程版本信息和编译时间
##############################################################################
VERSION = $(shell date +"%Y")
PATCHLEVEL = $(shell date +"%M")
SUBLEVEL = $(shell date +"%d")
NAME = "-By Respate"
COMPILE_TIME = $(shell date +"%Y-%m-%d %H:%M:%S")


##############################################################################
#	编译器 相关定义与环境变量导出
##############################################################################
#指定编译器
CROSS_COMPILE ?= $(BSP_CROSS_COMPILE)

##############################################################################
#静默编译 					y：不输出打印信息		n：输出打印信息
##############################################################################
ifeq ($(CONFIG_KBUILD_VERBOSE),n)
Q?=
make_s:=
else
Q?=@
make_s:=--no-print-directory
endif
export Q make_s



#######################################################################################
# makefile 循环编译子模块，出错时自动退出
#######################################################################################
define build-all
	@for dir in $(1);\
	do\
		cd $$TAR_DRV_DIR ;\
		if [ -d "$$dir" ] && [ -f "$$dir/lap.mk" ]; then \
		cd $$dir; \
		make $(make_s) -f lap.mk || exit "$$?"; \
		fi;	\
	done
endef

define clean-all
	@for dir in $(1);\
	do\
		cd $$TAR_DRV_DIR ;\
		if [ -d "$$dir" ] && [ -f "$$dir/lap.mk" ]; then \
		cd $$dir; \
		make $(make_s) -f lap.mk  clean || exit "$$?"; \
		fi;	\
	done
endef

build-y+=$(shell ls) 


# 编译 子目标
ALL:all
.PHONY:ALL clean


PWD_DIR=$(shell echo `pwd`)
##############################################################################
# 文件清理
##############################################################################	
clean:
	$(Q)echo "\r\n0_0 start clean 0_?"
	$(Q)$(call clean-all,$(build-y))
# ifneq ($(PWD_DIR),)	# 判断文件夹是否为空
# 	$(Q)find $(shell pwd) \( -name '*.o' \
# 	-o -name '*.ko' \) \
# 	-type f -print | xargs rm -f
# endif